#pragma once

#include "pch.h"
#include "prerequisites.h"
#include "singleton.h"

struct render_op
{
    D3DPRIMITIVETYPE type;
    int base_vertex_index; 
    unsigned int min_index;
    unsigned int num_vertices;
    unsigned int start_index; 
    unsigned int num_primitives;
};

class c_render_device9 : public c_singleton<c_render_device9>
{
public: 
    c_render_device9(IDirect3DDevice9 *device); 
    ~c_render_device9();
    
    d3d9_device_ptr& get_d3d_device_ptr() { return m_d3d9_device; }
    
private: 
    d3d9_device_ptr m_d3d9_device; 
    d3d9_ptr m_d3d9; 
};